package com.ruoyi.order.mapper;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.order.domain.Category;
import com.ruoyi.order.domain.Vo.CategoryVo;
import com.ruoyi.order.domain.app.Vo.CategoryViewVo;
import com.ruoyi.order.domain.app.Vo.CategoryResultVo;

/**
 * 类别Mapper接口
 * 
 * @author ruoyi
 * @date 2022-02-04
 */
public interface CategoryMapper extends BaseMapper<Category>
{
    /**
     * 查询类别
     * 
     * @param catagoryID 类别主键
     * @return 类别
     */
    Category selectCategoryByCategoryID(Integer catagoryID);

    /**
     * 查询类别列表
     * 
     * @param category 类别
     * @return 类别集合
     */
    List<Category> selectCategoryList(Category category);

    /**
     * 新增类别
     * 
     * @param category 类别
     * @return 结果
     */
    int insertCategory(Category category);

    /**
     * 修改类别
     * 
     * @param category 类别
     * @return 结果
     */
    int updateCategory(Category category);

    /**
     * 删除类别
     * 
     * @param catagoryID 类别主键
     * @return 结果
     */
    int deleteCategoryByCategoryID(Integer catagoryID);

    /**
     * 批量删除类别
     * 
     * @param catagoryIDs 需要删除的数据主键集合
     * @return 结果
     */
    int deleteCategoryByCategoryIDs(String[] catagoryIDs);

    List<CategoryVo> getCategoryPage(Map<String, Object> map);

    List<CategoryVo> getCategoryPageList(Map<String, Object> map);

    List<CategoryVo> getCategoryParentPage();

    List<CategoryViewVo> getCategoryList(Map<String, Object> map);

    List<CategoryResultVo> getCategoryParentList(Map<String, Object> map);

    List<CategoryResultVo> getCategoryTwoByCategoryId(Map<String, Object> map);

    List<CategoryResultVo>getCategoryInfo(Map<String, Object> map);
}
